home *** CD-ROM | disk | FTP | other *** search
/ Spanish Scene 1 / SpanishScene1.iso / spanish pack n°1 by llfb / --llfb-- / programas / sources1.dms / sources1.adf / SOURCES / Vectores / Cube_with_Plasma.ASM < prev    next >
Assembly Source File  |  1996-06-04  |  18KB  |  562 lines

  1.  
  2. ;    >extern    'DF0:raytr.dat',sinus
  3.  
  4.  
  5.  
  6. ;    org     $22000
  7. ;    load    $22000
  8.  
  9.  
  10.     Section    Roman,code_c
  11.  
  12.  
  13. j    lea    $30000,a0
  14. lo    clr.l    (a0)+
  15.     cmp.l    #$50000,a0
  16.     bcs    lo    
  17.  
  18.     bsr     init
  19.  
  20.     lea     $dff000,a6
  21. w1    move.l     4(a6),d0
  22.     lsr.l     #8,d0
  23.     cmp.w    #$130,d0
  24.     bne     w1
  25.     move.w    #$7fff,$9a(a6)
  26.     move.w    #$7fff,$96(a6)
  27.     move.l     #copper,$84(a6)
  28.     clr.w    $8a(a6)
  29.     move.w    #$87d0,$96(a6)
  30.     move.w    #$c010,$9a(a6)
  31.  
  32. w2    bsr    wait
  33. we    move.l     4(a6),d0
  34.     lsr.l    #8,d0
  35.     cmp.w    #$d0,d0
  36.     bne     we
  37.     bsr     filler
  38.     bsr     plasma
  39.     btst    #6,$bfe001
  40.     bne    w2
  41.     bsr    wait
  42.     move.w    #$7fff,$96(a6)
  43.     move.w    #$7fff,$9a(a6)
  44.     clr.w    $88(a6)
  45.     move.w    #$87f0,$96(a6)
  46.     move.w    #$e02c,$9a(a6)
  47.     clr.l     d0
  48.     rts
  49.  
  50. ;************************************************************************
  51.  
  52. filler    add.w #2,addx           ;xszog novelese
  53.     and.w #$1ff,addx   
  54.     add.w #4,addy           ;yszog novelese    
  55.     and.w #$1ff,addy
  56.     add.w #2,addz           ;zszog novelese        
  57.     and.w #$1ff,addz
  58.     lea coords,a0        ;pontok x,y,z koordinatai
  59.     lea sinus,a1         ;sinus ertekek
  60.     lea $80(a1),a3           ;cosinus ertekek
  61.     lea tarolo,a2        ;2D x,y letarolasa
  62.     lea addx,a4          ;szogek
  63.     moveq #23,d7            ;pontok szama
  64. h3    movem.w (a0)+,d0/d1/d6   ;x,y,z
  65.     move.w 4(a4),d5          ;Zszog
  66.     bsr calcul               ;Z-rotation
  67.     move.w d0,d6             ;X tarolasa
  68.     move.w d3,d0             ;Y
  69.     move.w (a4),d5           ;Xszog
  70.     bsr calcul               ;X-rotation
  71.     move.w d0,d6             ;uj Y tarolasa
  72.     move.w d3,d0             ;Z
  73.     move.w 2(a4),d5          ;Yszog
  74.     bsr calcul               ;Y-rotation
  75.     exg d0,d3                ;X csere Z-vel    Z=d3
  76.     moveq #12,d6             ;lekepezes 2D-re
  77.     move.w #$400,d2
  78.     sub.w d3,d2              ;$444-Z
  79.     muls d2,d0               ;z'*x
  80.     asr.l d6,d0              ;z'*x/2048=2D X
  81.     muls d2,d1               ;z'*y
  82.     asr.l d6,d1              ;z'*y/2048=2D Y
  83.     add.w #150,d0         ;X=X+150     kozepre a kepernyon           
  84.     add.w #100,d1            ;Y=Y+100
  85.     move.w d0,(a2)+         ;2D X tarolasa
  86.     move.w d1,(a2)+          ;2D Y tarolasa
  87.     dbf d7,h3                ;14-szer               
  88.  
  89.     bsr wait
  90.     move.l #$ffff8000,$72(a6)  ;vonalhuzashoz standard ertekek
  91.     move.l #-1,$44(a6)
  92.     move.w #40,$60(a6)        ;kepernyo szelessege
  93.  
  94.     eor.w #$8000,erno+2        ;kepernyo csere
  95.     eor.w #$8000,copscr       ;csere a copperben is
  96.  
  97.     move.l erno,a0          
  98.     add.l #26+[170*$28],a0
  99.     bsr wait                    ;uzemmodban dolgozik
  100.     move.l #$01000002,$40(a6)   
  101.     move.w #$28-[[9*16]/8],$66(a6)
  102.     move.l a0,$54(a6)
  103.     move.w #$2309,$58(a6)       ;feltolt
  104.  
  105.     lea tarolo,a1          ;2D x,y ertekek
  106.     lea meghat,a2          ;structure
  107.     lea sinus+$400,a3      ;sor kezdopontja /0-f/ + $a4a or $b4a
  108.     lea sinus+$680,a5      ;szelesseg/2/ es vonal hossz values
  109.     move.w (a2)+,lap           ;lapok szama /24/
  110. h7    move.l (a2)+,d7            ;hany pontot kosson ossze
  111.     move.l (a2)+,a4            ;oszzekotesi sorrend
  112.     move.l erno,a0         ;ide rajzol
  113.     movem.w (a4),d0/d1/d2      ;lathatosag eldontese
  114.     move.w (a1,d1.w),d3        ;x1
  115.     sub.w (a1,d0.w),d3         ;X1-X0
  116.     move.w 2(a1,d2.w),d4       ;y2
  117.     sub.w 2(a1,d1.w),d4        ;Y2-Y1
  118.     move.w 2(a1,d1.w),d5       ;y1
  119.     sub.w 2(a1,d0.w),d5        ;Y1-Y0
  120.     move.w (a1,d2.w),d6        ;x2
  121.     sub.w (a1,d1.w),d6         ;X2-X1
  122.     mulu d4,d3                 ;(y2-y1)(x1-x0)=d3
  123.     mulu d6,d5                 ;(y1-y0)(x2-x1)=d5
  124.     sub.w d5,d3                
  125.     bmi vakon                   ;nem latszik
  126. nb    move.w (a4)+,d5            ;1.pont
  127.     move.w (a1,d5.w),d0        ;x1 koordinata
  128.     move.w 2(a1,d5.w),d1       ;y1 koordinata
  129.     bsr lines                  ;vonalhuzo
  130. vakon    subq.w #1,lap              ;lapszam csokkentes
  131.     bne h7                     ;van meg ?
  132. fill    move.l erno,a0          
  133.     add.l #26+[170*$28],a0
  134.     bsr wait                    ;uzemmodban dolgozik
  135.     move.l #$09f00012,$40(a6)   
  136.     move.w #$28-[[9*16]/8],$64(a6)
  137.     move.w #$28-[[9*16]/8],$66(a6)
  138.     move.l a0,$50(a6)
  139.     move.l a0,$54(a6)
  140.     move.w #$2309,$58(a6)       ;feltolt
  141.     rts
  142.  
  143. lines    move.w (a4)+,d5          ;kovetkezo pont
  144.     move.w (a1,d5.w),d2      ;x2
  145.     move.w 2(a1,d5.w),d3     ;y2
  146.     movem.w d2/d3,-(a7)      ;kovetkezo pont latarolasa
  147.     cmp.w d1,d3              ;y2-y1
  148.     bgt p1
  149.     exg d0,d2                ;kisebb --> coords csere                
  150.     exg d1,d3                ;mindig a nagyobb y-bol kell huzni !
  151.     beq not                  
  152. p1    move.w #40,d5           ;kepernyo szelessege
  153.     move.w d1,d4             ;nagyobb y
  154.     mulu d5,d4               ;120*y = pont sora
  155.     move.w d0,d5             ;x0
  156.     add.l a0,d4              ;$30000+x0 = pont oszlopa
  157.     lsr.w #3,d5              ;pont sora/8
  158.     add.w d5,d4              ;megkapja a pont helyet
  159.     moveq #0,d5
  160.     sub.w d1,d3              ;Y
  161.     sub.w d0,d2              ;X   /x1-x2/
  162.     bpl p2
  163.     moveq #1,d5              ;x2 kisebb volt,a kapott X negativ 
  164.     neg.w d2                 ;most mar pozitiv X
  165. p2    move.w d3,d1             ;Y
  166.     add.w d1,d1              ;2Y
  167.     cmp.w d2,d1              ;X-2Y
  168.     dbhi d3,p3               ;csokkenti Y-t ha
  169. p3    move.w d3,d1             ;Y
  170.     sub.w d2,d1              ;Y-X
  171.     bpl p4
  172.     exg d2,d3                ;X csereje Y-al
  173. p4    addx.w d5,d5
  174.     add.w d2,d2              ;2Y             
  175.     move.w d2,d1             ;2Y
  176.     sub.w d3,d2              ;2Y-X
  177.     addx.w d5,d5
  178.     add.w d0,d0
  179.     move.w d2,d6
  180.     sub.w d3,d6
  181.     add.w d3,d3
  182. ok    move.w (a5,d3.w),d3         ;$58
  183.     move.w (a3,d0.w),d0         ;$40
  184.     move.b dat(pc,d5.w),d5      ;melyik siknyolcad
  185.     bsr wait
  186.     move.w d2,$52(a6)           ;2y-x
  187.     move.w d0,$40(a6)           ;12-15-->sor kezdopontja /0-f/ + a4a
  188.     move.b d5,$43(a6)           ;siknyolcad
  189.     move.l d4,$48(a6)           ;vonal kezdocime
  190.     move.l d4,$54(a6)           ;vonal kezdocime
  191.     move.w d1,$62(a6)           ;2y
  192.     move.w d6,$64(a6)           ;2y-2x
  193.     move.w d3,$58(a6)           ;szelesseg=2 , magassag=vonal hossza
  194. not    movem.w (a7)+,d0/d1
  195.     dbf d7,lines
  196.     rts
  197.  
  198. dat    dc.l $3431353,$b4b1757
  199.     
  200. calcul    move.w (a3,d5.w),d4     ;cos ertek
  201.     move.w (a1,d5.w),d5     ;sin ertek
  202.     move.w d0,d2            ;c1
  203.     move.w d1,d3        ;c2
  204.     muls d4,d0        ;c1*cos(c0angle)
  205.     muls d5,d1        ;c2*sin(c0angle)
  206.     muls d4,d3        ;c2*cos(c0angle)
  207.     muls d5,d2        ;c1*sin(c0angle)
  208.     sub.l d1,d0        ;c1*cos(c0angle)-c2*sin(c0angle)
  209.     add.l d2,d3        ;c2*cos(c0angle)+c1*sin(c0angle)
  210.     add.l d0,d0        
  211.     add.l d3,d3
  212.     swap d0                 ;uj c1
  213.     swap d3                 ;uj c2
  214.     move.w d6,d1        
  215.     rts
  216.  
  217. code    movem.l d0-d7/a1-a6,-(a0)
  218.  
  219. *************************************************************************
  220. cstart    =    $5167            ;startposition
  221. colsrow    =    18            ;colors per row
  222. ysize    =    134            ;ysize of effect
  223. reg    =    $182            ;register to use
  224. *************************************************************************
  225. plasma: lea    yoffs1(pc),a0        
  226.     move.w    #[256*2]-1,d4        ;for offsets rangeholding
  227.     movem.w    (a0)+,d0-d2        ;get y-offset 1,2,3    
  228.     add.w    #2*1,d0        ;increase offset 1
  229.     add.w    #2*2,d1        ;increase offset 2
  230.     add.w    #2*3,d2        ;increase offset 3
  231.     and.w    d4,d0            ;hold offset 1 in range
  232.     and.w    d4,d1            ;hold offset 2 in range
  233.     and.w    d4,d2            ;hold offset 3 in range
  234.     movem.w    d0-d2,-(a0)        ;refresh y-offsets
  235.  
  236.     bsr    wait            ;init fixed blitter register
  237.     clr.l    $60(a6)              ;no modulos source C&B (colors)
  238.     clr.w    $64(a6)            ;no modulos source A (colors)
  239.     move.w    #colsrow*4+2,$66(a6)    ;bytes to override to next row
  240.     move.l    #-1,$44(a6)        ;full word mask source A
  241.     move.l    #$0f160000,$40(a6)    ;D=A+B+C (or.) & ascending mode
  242.  
  243.  
  244.     lea    copbuff+6(pc),a0    ;place for first color in copperlist
  245.     lea    ytab(pc),a1        ;address of y-table
  246.  
  247.     lea    red1(pc),a2        
  248.     lea    green1(pc),a3
  249.     lea    blue1(pc),a4        ;color table 1 addresses
  250.  
  251.     bra    plab_0
  252.     ;tst.b    hidden            ;surface hidden(use other colortables?)
  253.     ;beq.w    plab_0
  254.  
  255.     lea    red2(pc),a2        
  256.     lea    green2(pc),a3
  257.     lea    blue2(pc),a4        ;color table 2 addresses
  258.  
  259. plab_0:    moveq    #colsrow-1,d3        ;nr. of colors per row
  260.     move.w    #ysize*64+1,d5        ;blitwindowsize
  261. ploop_0:bsr    wait    
  262.     move.w    (a1,d0.w),d7        ;value from ytabaddr&offset1
  263.     lea    (a2,d7.w),a5        ;colortable1address & offset
  264.     move.l    a5,$50(a6)        ;init source A address
  265.     move.w    (a1,d1.w),d7        ;value from ytabaddr&offset2
  266.     lea    (a3,d7.w),a5        ;colortable2address & offset
  267.     move.l    a5,$4c(a6)        ;init source B address
  268.     move.w    (a1,d2.w),d7        ;value from ytabaddr&offset3
  269.     lea    (a4,d7.w),a5        ;colortable3address & offset
  270.     move.l    a5,$48(a6)        ;init source C address
  271.     add.w    #02*1,d0        ;increase offset 1
  272.     add.w    #02*2,d1        ;increase offset 2
  273.     add.w    #02*3,d2        ;increase offset 3
  274.     and.w    d4,d0            ;hold offset 1 in range
  275.     and.w    d4,d1            ;hold offset 2 in range
  276.     and.w    d4,d2            ;hold offset 3 in range
  277.     move.l    a0,$54(a6)        ;dest. D (buffer in copperlist)
  278.     move.w    d5,$58(a6)        ;start blitter operation
  279.     addq.l    #04,a0            ;increase copbuff address
  280.     dbf    d3,ploop_0
  281.     rts
  282.  
  283. ;*******************************
  284.  
  285. init    lea    copbuff(pc),a0        ;buffer in copperlist
  286.     move.w    #ysize-1,d0        ;ysize of effect
  287.     move.w    #cstart,d1        ;first waitposition
  288. iloop_4:move.w    #colsrow-1,d2        ;colors per row
  289.     move.w    d1,(a0)+        ;insert waitposition
  290.     move.w    #-2,(a0)+        ;$fffe
  291. iloop_5:move.w    #reg,(a0)+        ;insert register to use
  292.     move.w    #0,(a0)+        ;place for data (later)
  293.     dbf    d2,iloop_5        ;init one row
  294.     addi.w    #$0100,d1        ;increase waitposition
  295.     dbf    d0,iloop_4        ;init all rows
  296.  
  297.     lea    ytab(pc),a0        ;convert ytable for speedup
  298.     move.l    #[ytabend-ytab]/2-1,d0    ;wordsize
  299. iloop_6:move.w    (a0),d1
  300.     add.w    d1,d1            ;*2 to use data as wordoffset
  301.     move.w    d1,(a0)+
  302.     dbf    d0,iloop_6
  303.  
  304.     lea    red1(pc),a0        ;source buffer red
  305.     lea    red2(pc),a1        ;generate shadow buffer red
  306.     move.w    #[green1-red1]/2-1,d0    ;nr. of words in table
  307.     bsr.w    floop_0            ;fadedown origin & insert in buffer
  308.  
  309.     lea    green1(pc),a0        ;source buffer green
  310.     lea    green2(pc),a1        ;generate shadow buffer green
  311.     move.w    #[blue1-green1]/2-1,d0    ;nr. of words in table
  312.     bsr.w    floop_0            ;fadedown origin & insert in buffer
  313.  
  314.     lea    blue1(pc),a0        ;source buffer blue
  315.     lea    blue2(pc),a1        ;generate shadow buffer blue
  316.     move.w    #[blue1end-blue1]/2-1,d0;nr. of words in table
  317.     bsr.w    floop_0            ;fadedown origin & insert in buffer
  318.     rts
  319. *************************************************************************
  320. floop_0:move.w    (a0)+,d1        ;get value
  321.     move.w    d1,d2
  322.     move.w    d2,d3
  323.     andi.w    #$0f00,d1
  324.     andi.w    #$00f0,d2
  325.     andi.w    #$000f,d3        ;split into red/green/blue
  326.     sub.w    #$0100*5,d1        ;decrease red-part
  327.     tst.w    d1            ;under zero ?
  328.     bge.w    flab_0
  329.     moveq    #00,d1            ;set on black
  330. flab_0:    sub.w    #$0010*5,d2        ;decrease green-part
  331.     tst.w    d2            ;under zero ?
  332.     bge.s    flab_1
  333.     moveq    #00,d2            ;set on black
  334. flab_1:    subq.w    #$0001*5,d3        ;decrease blue-part
  335.     tst.w    d3            ;under zero ?
  336.     bge.s    flab_2
  337.     moveq    #00,d3            ;set on black
  338. flab_2:    or.w    d1,d2
  339.     or.w    d2,d3            ;stuck together red/green/blue
  340.     move.w    d3,(a1)+        ;store faded value
  341.     dbf    d0,floop_0
  342.     rts
  343.  
  344. wait    btst    #$e,$dff002
  345.     bne     wait
  346.     rts
  347.  
  348. *************************************************************************
  349. red1:    dc.w    $100,$200,$100,$100,$200,$300,$200,$200    
  350.     dc.w    $300,$400,$300,$300,$400,$500,$400,$400    
  351.     dc.w    $500,$600,$500,$500,$600,$700,$600,$600    
  352.     dc.w    $700,$800,$700,$700,$800,$900,$800,$800    
  353.     dc.w    $900,$a00,$900,$900,$a00,$b00,$a00,$a00    
  354.     dc.w    $b00,$c00,$b00,$b00,$c00,$d00,$c00,$c00    
  355.     dc.w    $d00,$e00,$d00,$d00,$e00,$f00,$e00,$e00    
  356.     dc.w    $f00,$f00,$f00,$f00,$e00,$f00,$e00,$e00    
  357.     dc.w    $d00,$e00,$d00,$d00,$c00,$d00,$c00,$c00    
  358.     dc.w    $b00,$c00,$b00,$b00,$a00,$b00,$a00,$a00    
  359.     dc.w    $900,$a00,$900,$900,$800,$900,$800,$800    
  360.     dc.w    $700,$800,$700,$700,$600,$700,$600,$600    
  361.     dc.w    $500,$600,$500,$500,$400,$500,$400,$400    
  362.     dc.w    $300,$400,$300,$300,$200,$300,$200,$200    
  363. redp:    dc.w    $100,$200,$100,$100,$200,$300,$200,$200    
  364.     dc.w    $300,$400,$300,$300,$400,$500,$400,$400    
  365.     dc.w    $500,$600,$500,$500,$600,$700,$600,$600    
  366.     dc.w    $700,$800,$700,$700,$800,$900,$800,$800    
  367.     dc.w    $900,$a00,$900,$900,$a00,$b00,$a00,$a00    
  368.     dc.w    $b00,$c00,$b00,$b00,$c00,$d00,$c00,$c00    
  369.     dc.w    $d00,$e00,$d00,$d00,$e00,$f00,$e00,$e00    
  370.     dc.w    $f00,$f00,$f00,$f00,$e00,$f00,$e00,$e00    
  371.     dc.w    $d00,$e00,$d00,$d00,$c00,$d00,$c00,$c00    
  372.     dc.w    $b00,$c00,$b00,$b00,$a00,$b00,$a00,$a00    
  373.     dc.w    $900,$a00,$900,$900,$800,$900,$800,$800    
  374.     dc.w    $700,$800,$700,$700,$600,$700,$600,$600    
  375.     dc.w    $500,$600,$500,$500,$400,$500,$400,$400    
  376.     dc.w    $300,$400,$300,$300,$200,$300,$200,$200    
  377. redo:    dc.w    $100,$200,$100,$100,$200,$300,$200,$200    
  378.     dc.w    $300,$400,$300,$300,$400,$500,$400,$400    
  379.     dc.w    $500,$600,$500,$500,$600,$700,$600,$600    
  380.     dc.w    $700,$800,$700,$700,$800,$900,$800,$800    
  381.     dc.w    $900,$a00,$900,$900,$a00,$b00,$a00,$a00    
  382.     dc.w    $b00,$c00,$b00,$b00,$c00,$d00,$c00,$c00    
  383.     dc.w    $d00,$e00,$d00,$d00,$e00,$f00,$e00,$e00    
  384.     dc.w    $f00,$f00,$f00,$f00,$e00,$f00,$e00,$e00    
  385.     dc.w    $d00,$e00,$d00,$d00,$c00,$d00,$c00,$c00    
  386.     dc.w    $b00,$c00,$b00,$b00,$a00,$b00,$a00,$a00    
  387.     dc.w    $900,$a00,$900,$900,$800,$900,$800,$800    
  388.     dc.w    $700,$800,$700,$700,$600,$700,$600,$600    
  389.     dc.w    $500,$600,$500,$500,$400,$500,$400,$400    
  390.     dc.w    $300,$400,$300,$300,$200,$300,$200,$200    
  391. green1:    dc.w    $10,$20,$10,$10,$20,$30,$20,$20
  392.     dc.w    $30,$40,$30,$30,$40,$50,$40,$40
  393.     dc.w    $50,$60,$50,$50,$60,$70,$60,$60
  394.     dc.w    $70,$80,$70,$70,$80,$90,$80,$80
  395.     dc.w    $90,$a0,$90,$90,$a0,$b0,$a0,$a0
  396.     dc.w    $b0,$c0,$b0,$b0,$c0,$d0,$c0,$c0
  397.     dc.w    $d0,$e0,$d0,$d0,$e0,$f0,$e0,$e0
  398.     dc.w    $f0,$f0,$f0,$f0,$e0,$f0,$e0,$e0
  399.     dc.w    $d0,$e0,$d0,$d0,$c0,$d0,$c0,$c0
  400.     dc.w    $b0,$c0,$b0,$b0,$a0,$b0,$a0,$a0
  401.     dc.w    $90,$a0,$90,$90,$80,$90,$80,$80
  402.     dc.w    $70,$80,$70,$70,$60,$70,$60,$60
  403.     dc.w    $50,$60,$50,$50,$40,$50,$40,$40
  404.     dc.w    $30,$40,$30,$30,$20,$30,$20,$20
  405. greenp:    dc.w    $10,$20,$10,$10,$20,$30,$20,$20
  406.     dc.w    $30,$40,$30,$30,$40,$50,$40,$40
  407.     dc.w    $50,$60,$50,$50,$60,$70,$60,$60
  408.     dc.w    $70,$80,$70,$70,$80,$90,$80,$80
  409.     dc.w    $90,$a0,$90,$90,$a0,$b0,$a0,$a0
  410.     dc.w    $b0,$c0,$b0,$b0,$c0,$d0,$c0,$c0
  411.     dc.w    $d0,$e0,$d0,$d0,$e0,$f0,$e0,$e0
  412.     dc.w    $f0,$f0,$f0,$f0,$e0,$f0,$e0,$e0
  413.     dc.w    $d0,$e0,$d0,$d0,$c0,$d0,$c0,$c0
  414.     dc.w    $b0,$c0,$b0,$b0,$a0,$b0,$a0,$a0
  415.     dc.w    $90,$a0,$90,$90,$80,$90,$80,$80
  416.     dc.w    $70,$80,$70,$70,$60,$70,$60,$60
  417.     dc.w    $50,$60,$50,$50,$40,$50,$40,$40
  418.     dc.w    $30,$40,$30,$30,$20,$30,$20,$20
  419. greeno:    dc.w    $10,$20,$10,$10,$20,$30,$20,$20
  420.     dc.w    $30,$40,$30,$30,$40,$50,$40,$40
  421.     dc.w    $50,$60,$50,$50,$60,$70,$60,$60
  422.     dc.w    $70,$80,$70,$70,$80,$90,$80,$80
  423.     dc.w    $90,$a0,$90,$90,$a0,$b0,$a0,$a0
  424.     dc.w    $b0,$c0,$b0,$b0,$c0,$d0,$c0,$c0
  425.     dc.w    $d0,$e0,$d0,$d0,$e0,$f0,$e0,$e0
  426.     dc.w    $f0,$f0,$f0,$f0,$e0,$f0,$e0,$e0
  427.     dc.w    $d0,$e0,$d0,$d0,$c0,$d0,$c0,$c0
  428.     dc.w    $b0,$c0,$b0,$b0,$a0,$b0,$a0,$a0
  429.     dc.w    $90,$a0,$90,$90,$80,$90,$80,$80
  430.     dc.w    $70,$80,$70,$70,$60,$70,$60,$60
  431.     dc.w    $50,$60,$50,$50,$40,$50,$40,$40
  432.     dc.w    $30,$40,$30,$30,$20,$30,$20,$20
  433. blue1:    dc.w    $1,$2,$1,$1,$2,$3,$2,$2
  434.     dc.w    $3,$4,$3,$3,$4,$5,$4,$4
  435.     dc.w    $5,$6,$5,$5,$6,$7,$6,$6
  436.     dc.w    $7,$8,$7,$7,$8,$9,$8,$8
  437.     dc.w    $9,$a,$9,$9,$a,$b,$a,$a
  438.     dc.w    $b,$c,$b,$b,$c,$d,$c,$c
  439.     dc.w    $d,$e,$d,$d,$e,$f,$e,$e
  440.     dc.w    $f,$f,$f,$f,$e,$f,$e,$e
  441.     dc.w    $d,$e,$d,$d,$c,$d,$c,$c
  442.     dc.w    $b,$c,$b,$b,$a,$b,$a,$a
  443.     dc.w    $9,$a,$9,$9,$8,$9,$8,$8
  444.     dc.w    $7,$8,$7,$7,$6,$7,$6,$6
  445.     dc.w    $5,$6,$5,$5,$4,$5,$4,$4
  446.     dc.w    $3,$4,$3,$3,$2,$3,$2,$2
  447. bluep:    dc.w    $1,$2,$1,$1,$2,$3,$2,$2
  448.     dc.w    $3,$4,$3,$3,$4,$5,$4,$4
  449.     dc.w    $5,$6,$5,$5,$6,$7,$6,$6
  450.     dc.w    $7,$8,$7,$7,$8,$9,$8,$8
  451.     dc.w    $9,$a,$9,$9,$a,$b,$a,$a
  452.     dc.w    $b,$c,$b,$b,$c,$d,$c,$c
  453.     dc.w    $d,$e,$d,$d,$e,$f,$e,$e
  454.     dc.w    $f,$f,$f,$f,$e,$f,$e,$e
  455.     dc.w    $d,$e,$d,$d,$c,$d,$c,$c
  456.     dc.w    $b,$c,$b,$b,$a,$b,$a,$a
  457.     dc.w    $9,$a,$9,$9,$8,$9,$8,$8
  458.     dc.w    $7,$8,$7,$7,$6,$7,$6,$6
  459.     dc.w    $5,$6,$5,$5,$4,$5,$4,$4
  460.     dc.w    $3,$4,$3,$3,$2,$3,$2,$2
  461. blueo:    dc.w    $1,$2,$1,$1,$2,$3,$2,$2
  462.     dc.w    $3,$4,$3,$3,$4,$5,$4,$4
  463.     dc.w    $5,$6,$5,$5,$6,$7,$6,$6
  464.     dc.w    $7,$8,$7,$7,$8,$9,$8,$8
  465.     dc.w    $9,$a,$9,$9,$a,$b,$a,$a
  466.     dc.w    $b,$c,$b,$b,$c,$d,$c,$c
  467.     dc.w    $d,$e,$d,$d,$e,$f,$e,$e
  468.     dc.w    $f,$f,$f,$f,$e,$f,$e,$e
  469.     dc.w    $d,$e,$d,$d,$c,$d,$c,$c
  470.     dc.w    $b,$c,$b,$b,$a,$b,$a,$a
  471.     dc.w    $9,$a,$9,$9,$8,$9,$8,$8
  472.     dc.w    $7,$8,$7,$7,$6,$7,$6,$6
  473.     dc.w    $5,$6,$5,$5,$4,$5,$4,$4
  474.     dc.w    $3,$4,$3,$3,$2,$3,$2,$2
  475. blue1end:
  476. *************************************************************************
  477. red2:    blk.w    [green1-red1]/2
  478. green2:    blk.w    [blue1-green1]/2
  479. blue2:    blk.w    [blue1end-blue1]/2
  480. *************************************************************************
  481. ;ytab    256 values !!
  482. *************************************************************************
  483. yoffs1:    dc.w    0
  484. yoffs2:    dc.w    0
  485. yoffs3:    dc.w    0
  486. *************************************************************************
  487. ytab:    dc.w    57,57,57,57,57,57,57,57
  488.     dc.w    56,56,56,56,56,56,55,55
  489.     dc.w    55,55,54,54,54,53,53,53
  490.     dc.w    52,52,51,51,51,50,50,49
  491.     dc.w    49,48,48,47,47,46,45,45
  492.     dc.w    44,44,43,43,42,41,41,40
  493.     dc.w    39,39,38,37,37,36,35,35
  494.     dc.w    34,33,33,32,31,31,30,29
  495.     dc.w    29,28,27,26,26,25,24,24
  496.     dc.w    23,22,22,21,20,20,19,18
  497.     dc.w    18,17,16,16,15,14,14,13
  498.     dc.w    13,12,12,11,10,10,9,9
  499.     dc.w    8,8,7,7,6,6,6,5
  500.     dc.w    5,4,4,4,3,3,3,2
  501.     dc.w    2,2,2,1,1,1,1,1
  502.     dc.w    1,0,0,0,0,0,0,0
  503.     dc.w    0,0,0,0,0,0,0,0
  504.     dc.w    1,1,1,1,1,1,2,2
  505.     dc.w    2,2,3,3,3,4,4,4
  506.     dc.w    5,5,6,6,6,7,7,8
  507.     dc.w    8,9,9,10,10,11,12,12
  508.     dc.w    13,13,14,14,15,16,16,17
  509.     dc.w    18,18,19,20,20,21,22,22
  510.     dc.w    23,24,24,25,26,26,27,28
  511.     dc.w    29,29,30,31,31,32,33,33
  512.     dc.w    34,35,35,36,37,37,38,39
  513.     dc.w    39,40,41,41,42,43,43,44
  514.     dc.w    44,45,45,46,47,47,48,48
  515.     dc.w    49,49,50,50,51,51,51,52
  516.     dc.w    52,53,53,53,54,54,54,55
  517.     dc.w    55,55,55,56,56,56,56,56
  518.     dc.w    56,57,57,57,57,57,57,57
  519. ytabend:
  520.  
  521.  
  522. copper    dc.w    $180,0,$100,$200,$120,0,$122,0,$128,0,$12a,0,$130,0,$132,0
  523.     dc.w    $138,0,$13a,0,$124,0,$126,0,$12c,0,$12e,0,$134,0,$136,0
  524.     dc.w    $13c,0,$13e,0
  525.     dc.w    $8e,$3081,$90,$30c1,$92,$38,$94,$d0
  526.     dc.w     $e0,3,$e2
  527. copscr    dc.w     0
  528.     dc.w    $2001,$fffe,$100,$1200,$108,0,$10a,0
  529. *************************************************************************
  530. copbuff:blk.l    [1+1*colsrow]*ysize
  531. *************************************************************************
  532.     dc.w    $fe01,$fffe,$100,$200,$ffff,$fffe
  533.  
  534. ;***********************************************************************
  535.  
  536. coords    dc.w -154,150,150,-154,-150,150,-154,-150,-150,-154,150,-150
  537.     dc.w 154,150,150,154,-150,150,154,-150,-150,154,150,-150
  538.     dc.w -150,150,154,-150,-150,154,150,-150,154,150,150,154
  539.     dc.w -150,150,-154,-150,-150,-154,150,-150,-154,150,150,-154
  540.     dc.w -150,154,-150,-150,154,150,150,154,150,150,154,-150
  541.     dc.w -150,-154,-150,-150,-154,150,150,-154,150,150,-154,-150
  542.  
  543.  
  544. meghat    dc.w 6
  545.     dc.l 3,kot1,3,kot2,3,kot3,3,kot4,3,kot5,3,kot6
  546.  
  547. kot1    dc.w 0,4,8,12,0
  548. kot2    dc.w 16,28,24,20,16
  549. kot3    dc.w 32,44,40,36,32
  550. kot4    dc.w 48,52,56,60,48
  551. kot5    dc.w 64,76,72,68,64
  552. kot6    dc.w 80,84,88,92,80
  553.  
  554. addx    dc.w 0             ;xangle 
  555. addy    dc.w 0            ;yangle
  556. addz    dc.w 0             ;zangle
  557. lap    dc.w 0             ;siklapok szama/object
  558. erno    dc.l $38000        ;kepernyo
  559. sinus    incbin "Coleccion_Sources1:Sources/Vectores/raytr.dat"
  560. tarolo    blk.b 100,0
  561.  
  562.